Skip to main content

模块化Modules

Alternate text

假定【 user 】模块需要调用公共模块 【shared】

src/shared/system.service.ts
import { Injectable, Inject } from '@nestjs/common';

@Injectable()
export class SystemService {
constructor() { }
getEnv() {
return {
a: 1
}
}
}

src/shared/shared.module.ts
import { Module } from '@nestjs/common';
import { SystemService } from './services/system.service';

@Module({
controllers: [],

imports: [],
exports: [SystemService],
providers: [SystemService],
})
export class SharedModule { }

src/user/user.module.ts
import { Module } from '@nestjs/common';
import { UserService } from './user.service';
import { UserController } from './user.controller';
import { SharedModule } from '../shared/shared.module';

@Module({
controllers: [UserController],
providers: [UserService],
imports: [SharedModule] // 引用模块
})
export class UserModule { }
src/user/user.service.ts
export class UserService {

constructor(
// 追加模块注入
private readonly systemService: SystemService) {
}

create(createUserDto: CreateUserDto) {

// 追加调用模块
console.log(this.systemService.getEnv())

// 调用Modle
return 'This action adds a 🚀 new user';
}
}